package com.baofu.paycore.service.facade;

import com.baofu.paycore.service.facade.model.withdraw.UnfreezeWithdrawDTO;
import com.baofu.paycore.service.facade.model.withdraw.WithdrawDTO;
import com.baofu.paycore.service.facade.model.withdraw.WithdrawResDTO;
import com.system.commons.result.Result;

/**
 * 提现服务
 *
 * <p>
 *     1 提现接口
 *     2.解冻提现接口
 * </p>
 * User: LZQ Date: 2016/06/02  Version: 1.0
 */
public interface WithdrawServiceFacade {

    /**
     * 提现接口
     *
     * @param withdrawDTO               提现请求参数
     * @param traceLogId                日志ID
     * @return                          提现结果
     *                                  response.isSuccess()标示方法的远程调用状态，方法实际执行结果从result 取值
     */
    Result<WithdrawResDTO> withdraw(WithdrawDTO withdrawDTO, String traceLogId);

    /**
     * 解冻提现接口
     *
     * @param withdrawDTO               解冻提现请求参数
     * @param traceLogId                日志ID
     * @return                          提现结果
     *                                  response.isSuccess()标示方法的远程调用状态，方法实际执行结果从result 取值
     */
    Result<WithdrawResDTO> unfreezeWithdraw(UnfreezeWithdrawDTO withdrawDTO, String traceLogId);
}
